package com.mls.fivedistrict.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class IntegralExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public IntegralExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIconIsNull() {
            addCriterion("icon is null");
            return (Criteria) this;
        }

        public Criteria andIconIsNotNull() {
            addCriterion("icon is not null");
            return (Criteria) this;
        }

        public Criteria andIconEqualTo(String value) {
            addCriterion("icon =", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotEqualTo(String value) {
            addCriterion("icon <>", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThan(String value) {
            addCriterion("icon >", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThanOrEqualTo(String value) {
            addCriterion("icon >=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThan(String value) {
            addCriterion("icon <", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThanOrEqualTo(String value) {
            addCriterion("icon <=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLike(String value) {
            addCriterion("icon like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotLike(String value) {
            addCriterion("icon not like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconIn(List<String> values) {
            addCriterion("icon in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotIn(List<String> values) {
            addCriterion("icon not in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconBetween(String value1, String value2) {
            addCriterion("icon between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotBetween(String value1, String value2) {
            addCriterion("icon not between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andLogoIsNull() {
            addCriterion("logo is null");
            return (Criteria) this;
        }

        public Criteria andLogoIsNotNull() {
            addCriterion("logo is not null");
            return (Criteria) this;
        }

        public Criteria andLogoEqualTo(String value) {
            addCriterion("logo =", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoNotEqualTo(String value) {
            addCriterion("logo <>", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoGreaterThan(String value) {
            addCriterion("logo >", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoGreaterThanOrEqualTo(String value) {
            addCriterion("logo >=", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoLessThan(String value) {
            addCriterion("logo <", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoLessThanOrEqualTo(String value) {
            addCriterion("logo <=", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoLike(String value) {
            addCriterion("logo like", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoNotLike(String value) {
            addCriterion("logo not like", value, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoIn(List<String> values) {
            addCriterion("logo in", values, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoNotIn(List<String> values) {
            addCriterion("logo not in", values, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoBetween(String value1, String value2) {
            addCriterion("logo between", value1, value2, "logo");
            return (Criteria) this;
        }

        public Criteria andLogoNotBetween(String value1, String value2) {
            addCriterion("logo not between", value1, value2, "logo");
            return (Criteria) this;
        }

        public Criteria andTotalIsNull() {
            addCriterion("total is null");
            return (Criteria) this;
        }

        public Criteria andTotalIsNotNull() {
            addCriterion("total is not null");
            return (Criteria) this;
        }

        public Criteria andTotalEqualTo(BigDecimal value) {
            addCriterion("total =", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotEqualTo(BigDecimal value) {
            addCriterion("total <>", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThan(BigDecimal value) {
            addCriterion("total >", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total >=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThan(BigDecimal value) {
            addCriterion("total <", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total <=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalIn(List<BigDecimal> values) {
            addCriterion("total in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotIn(List<BigDecimal> values) {
            addCriterion("total not in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total not between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberIsNull() {
            addCriterion("min_withdraw_number is null");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberIsNotNull() {
            addCriterion("min_withdraw_number is not null");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberEqualTo(BigDecimal value) {
            addCriterion("min_withdraw_number =", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberNotEqualTo(BigDecimal value) {
            addCriterion("min_withdraw_number <>", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberGreaterThan(BigDecimal value) {
            addCriterion("min_withdraw_number >", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("min_withdraw_number >=", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberLessThan(BigDecimal value) {
            addCriterion("min_withdraw_number <", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberLessThanOrEqualTo(BigDecimal value) {
            addCriterion("min_withdraw_number <=", value, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberIn(List<BigDecimal> values) {
            addCriterion("min_withdraw_number in", values, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberNotIn(List<BigDecimal> values) {
            addCriterion("min_withdraw_number not in", values, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("min_withdraw_number between", value1, value2, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinWithdrawNumberNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("min_withdraw_number not between", value1, value2, "minWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberIsNull() {
            addCriterion("max_withdraw_number is null");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberIsNotNull() {
            addCriterion("max_withdraw_number is not null");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberEqualTo(String value) {
            addCriterion("max_withdraw_number =", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberNotEqualTo(String value) {
            addCriterion("max_withdraw_number <>", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberGreaterThan(String value) {
            addCriterion("max_withdraw_number >", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberGreaterThanOrEqualTo(String value) {
            addCriterion("max_withdraw_number >=", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberLessThan(String value) {
            addCriterion("max_withdraw_number <", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberLessThanOrEqualTo(String value) {
            addCriterion("max_withdraw_number <=", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberLike(String value) {
            addCriterion("max_withdraw_number like", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberNotLike(String value) {
            addCriterion("max_withdraw_number not like", value, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberIn(List<String> values) {
            addCriterion("max_withdraw_number in", values, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberNotIn(List<String> values) {
            addCriterion("max_withdraw_number not in", values, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberBetween(String value1, String value2) {
            addCriterion("max_withdraw_number between", value1, value2, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMaxWithdrawNumberNotBetween(String value1, String value2) {
            addCriterion("max_withdraw_number not between", value1, value2, "maxWithdrawNumber");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateIsNull() {
            addCriterion("min_participation_calculate is null");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateIsNotNull() {
            addCriterion("min_participation_calculate is not null");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateEqualTo(Integer value) {
            addCriterion("min_participation_calculate =", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateNotEqualTo(Integer value) {
            addCriterion("min_participation_calculate <>", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateGreaterThan(Integer value) {
            addCriterion("min_participation_calculate >", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateGreaterThanOrEqualTo(Integer value) {
            addCriterion("min_participation_calculate >=", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateLessThan(Integer value) {
            addCriterion("min_participation_calculate <", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateLessThanOrEqualTo(Integer value) {
            addCriterion("min_participation_calculate <=", value, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateIn(List<Integer> values) {
            addCriterion("min_participation_calculate in", values, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateNotIn(List<Integer> values) {
            addCriterion("min_participation_calculate not in", values, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateBetween(Integer value1, Integer value2) {
            addCriterion("min_participation_calculate between", value1, value2, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andMinParticipationCalculateNotBetween(Integer value1, Integer value2) {
            addCriterion("min_participation_calculate not between", value1, value2, "minParticipationCalculate");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdIsNull() {
            addCriterion("frequency_id is null");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdIsNotNull() {
            addCriterion("frequency_id is not null");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdEqualTo(String value) {
            addCriterion("frequency_id =", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdNotEqualTo(String value) {
            addCriterion("frequency_id <>", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdGreaterThan(String value) {
            addCriterion("frequency_id >", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdGreaterThanOrEqualTo(String value) {
            addCriterion("frequency_id >=", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdLessThan(String value) {
            addCriterion("frequency_id <", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdLessThanOrEqualTo(String value) {
            addCriterion("frequency_id <=", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdLike(String value) {
            addCriterion("frequency_id like", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdNotLike(String value) {
            addCriterion("frequency_id not like", value, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdIn(List<String> values) {
            addCriterion("frequency_id in", values, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdNotIn(List<String> values) {
            addCriterion("frequency_id not in", values, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdBetween(String value1, String value2) {
            addCriterion("frequency_id between", value1, value2, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andFrequencyIdNotBetween(String value1, String value2) {
            addCriterion("frequency_id not between", value1, value2, "frequencyId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusIsNull() {
            addCriterion("withdraw_status is null");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusIsNotNull() {
            addCriterion("withdraw_status is not null");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusEqualTo(String value) {
            addCriterion("withdraw_status =", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusNotEqualTo(String value) {
            addCriterion("withdraw_status <>", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusGreaterThan(String value) {
            addCriterion("withdraw_status >", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusGreaterThanOrEqualTo(String value) {
            addCriterion("withdraw_status >=", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusLessThan(String value) {
            addCriterion("withdraw_status <", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusLessThanOrEqualTo(String value) {
            addCriterion("withdraw_status <=", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusLike(String value) {
            addCriterion("withdraw_status like", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusNotLike(String value) {
            addCriterion("withdraw_status not like", value, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusIn(List<String> values) {
            addCriterion("withdraw_status in", values, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusNotIn(List<String> values) {
            addCriterion("withdraw_status not in", values, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusBetween(String value1, String value2) {
            addCriterion("withdraw_status between", value1, value2, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andWithdrawStatusNotBetween(String value1, String value2) {
            addCriterion("withdraw_status not between", value1, value2, "withdrawStatus");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Boolean value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Boolean value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Boolean value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Boolean value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Boolean value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Boolean> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Boolean> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andAliasIsNull() {
            addCriterion("alias is null");
            return (Criteria) this;
        }

        public Criteria andAliasIsNotNull() {
            addCriterion("alias is not null");
            return (Criteria) this;
        }

        public Criteria andAliasEqualTo(String value) {
            addCriterion("alias =", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotEqualTo(String value) {
            addCriterion("alias <>", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasGreaterThan(String value) {
            addCriterion("alias >", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasGreaterThanOrEqualTo(String value) {
            addCriterion("alias >=", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLessThan(String value) {
            addCriterion("alias <", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLessThanOrEqualTo(String value) {
            addCriterion("alias <=", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLike(String value) {
            addCriterion("alias like", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotLike(String value) {
            addCriterion("alias not like", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasIn(List<String> values) {
            addCriterion("alias in", values, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotIn(List<String> values) {
            addCriterion("alias not in", values, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasBetween(String value1, String value2) {
            addCriterion("alias between", value1, value2, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotBetween(String value1, String value2) {
            addCriterion("alias not between", value1, value2, "alias");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdIsNull() {
            addCriterion("g_integral_id is null");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdIsNotNull() {
            addCriterion("g_integral_id is not null");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdEqualTo(Long value) {
            addCriterion("g_integral_id =", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdNotEqualTo(Long value) {
            addCriterion("g_integral_id <>", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdGreaterThan(Long value) {
            addCriterion("g_integral_id >", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdGreaterThanOrEqualTo(Long value) {
            addCriterion("g_integral_id >=", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdLessThan(Long value) {
            addCriterion("g_integral_id <", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdLessThanOrEqualTo(Long value) {
            addCriterion("g_integral_id <=", value, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdIn(List<Long> values) {
            addCriterion("g_integral_id in", values, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdNotIn(List<Long> values) {
            addCriterion("g_integral_id not in", values, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdBetween(Long value1, Long value2) {
            addCriterion("g_integral_id between", value1, value2, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralIdNotBetween(Long value1, Long value2) {
            addCriterion("g_integral_id not between", value1, value2, "gIntegralId");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameIsNull() {
            addCriterion("g_integral_name is null");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameIsNotNull() {
            addCriterion("g_integral_name is not null");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameEqualTo(String value) {
            addCriterion("g_integral_name =", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameNotEqualTo(String value) {
            addCriterion("g_integral_name <>", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameGreaterThan(String value) {
            addCriterion("g_integral_name >", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameGreaterThanOrEqualTo(String value) {
            addCriterion("g_integral_name >=", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameLessThan(String value) {
            addCriterion("g_integral_name <", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameLessThanOrEqualTo(String value) {
            addCriterion("g_integral_name <=", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameLike(String value) {
            addCriterion("g_integral_name like", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameNotLike(String value) {
            addCriterion("g_integral_name not like", value, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameIn(List<String> values) {
            addCriterion("g_integral_name in", values, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameNotIn(List<String> values) {
            addCriterion("g_integral_name not in", values, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameBetween(String value1, String value2) {
            addCriterion("g_integral_name between", value1, value2, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andGIntegralNameNotBetween(String value1, String value2) {
            addCriterion("g_integral_name not between", value1, value2, "gIntegralName");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionIsNull() {
            addCriterion("withdrawal_introduction is null");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionIsNotNull() {
            addCriterion("withdrawal_introduction is not null");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionEqualTo(String value) {
            addCriterion("withdrawal_introduction =", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionNotEqualTo(String value) {
            addCriterion("withdrawal_introduction <>", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionGreaterThan(String value) {
            addCriterion("withdrawal_introduction >", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionGreaterThanOrEqualTo(String value) {
            addCriterion("withdrawal_introduction >=", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionLessThan(String value) {
            addCriterion("withdrawal_introduction <", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionLessThanOrEqualTo(String value) {
            addCriterion("withdrawal_introduction <=", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionLike(String value) {
            addCriterion("withdrawal_introduction like", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionNotLike(String value) {
            addCriterion("withdrawal_introduction not like", value, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionIn(List<String> values) {
            addCriterion("withdrawal_introduction in", values, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionNotIn(List<String> values) {
            addCriterion("withdrawal_introduction not in", values, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionBetween(String value1, String value2) {
            addCriterion("withdrawal_introduction between", value1, value2, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andWithdrawalIntroductionNotBetween(String value1, String value2) {
            addCriterion("withdrawal_introduction not between", value1, value2, "withdrawalIntroduction");
            return (Criteria) this;
        }

        public Criteria andReferPriceIsNull() {
            addCriterion("refer_price is null");
            return (Criteria) this;
        }

        public Criteria andReferPriceIsNotNull() {
            addCriterion("refer_price is not null");
            return (Criteria) this;
        }

        public Criteria andReferPriceEqualTo(BigDecimal value) {
            addCriterion("refer_price =", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceNotEqualTo(BigDecimal value) {
            addCriterion("refer_price <>", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceGreaterThan(BigDecimal value) {
            addCriterion("refer_price >", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("refer_price >=", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceLessThan(BigDecimal value) {
            addCriterion("refer_price <", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("refer_price <=", value, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceIn(List<BigDecimal> values) {
            addCriterion("refer_price in", values, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceNotIn(List<BigDecimal> values) {
            addCriterion("refer_price not in", values, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("refer_price between", value1, value2, "referPrice");
            return (Criteria) this;
        }

        public Criteria andReferPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("refer_price not between", value1, value2, "referPrice");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateIsNull() {
            addCriterion("last_output_date is null");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateIsNotNull() {
            addCriterion("last_output_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateEqualTo(Date value) {
            addCriterion("last_output_date =", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateNotEqualTo(Date value) {
            addCriterion("last_output_date <>", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateGreaterThan(Date value) {
            addCriterion("last_output_date >", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateGreaterThanOrEqualTo(Date value) {
            addCriterion("last_output_date >=", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateLessThan(Date value) {
            addCriterion("last_output_date <", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateLessThanOrEqualTo(Date value) {
            addCriterion("last_output_date <=", value, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateIn(List<Date> values) {
            addCriterion("last_output_date in", values, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateNotIn(List<Date> values) {
            addCriterion("last_output_date not in", values, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateBetween(Date value1, Date value2) {
            addCriterion("last_output_date between", value1, value2, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andLastOutputDateNotBetween(Date value1, Date value2) {
            addCriterion("last_output_date not between", value1, value2, "lastOutputDate");
            return (Criteria) this;
        }

        public Criteria andValidityIsNull() {
            addCriterion("validity is null");
            return (Criteria) this;
        }

        public Criteria andValidityIsNotNull() {
            addCriterion("validity is not null");
            return (Criteria) this;
        }

        public Criteria andValidityEqualTo(Integer value) {
            addCriterion("validity =", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityNotEqualTo(Integer value) {
            addCriterion("validity <>", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityGreaterThan(Integer value) {
            addCriterion("validity >", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityGreaterThanOrEqualTo(Integer value) {
            addCriterion("validity >=", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityLessThan(Integer value) {
            addCriterion("validity <", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityLessThanOrEqualTo(Integer value) {
            addCriterion("validity <=", value, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityIn(List<Integer> values) {
            addCriterion("validity in", values, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityNotIn(List<Integer> values) {
            addCriterion("validity not in", values, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityBetween(Integer value1, Integer value2) {
            addCriterion("validity between", value1, value2, "validity");
            return (Criteria) this;
        }

        public Criteria andValidityNotBetween(Integer value1, Integer value2) {
            addCriterion("validity not between", value1, value2, "validity");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralIsNull() {
            addCriterion("residue_integral is null");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralIsNotNull() {
            addCriterion("residue_integral is not null");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralEqualTo(BigDecimal value) {
            addCriterion("residue_integral =", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralNotEqualTo(BigDecimal value) {
            addCriterion("residue_integral <>", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralGreaterThan(BigDecimal value) {
            addCriterion("residue_integral >", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("residue_integral >=", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralLessThan(BigDecimal value) {
            addCriterion("residue_integral <", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralLessThanOrEqualTo(BigDecimal value) {
            addCriterion("residue_integral <=", value, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralIn(List<BigDecimal> values) {
            addCriterion("residue_integral in", values, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralNotIn(List<BigDecimal> values) {
            addCriterion("residue_integral not in", values, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("residue_integral between", value1, value2, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueIntegralNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("residue_integral not between", value1, value2, "residueIntegral");
            return (Criteria) this;
        }

        public Criteria andResidueDaysIsNull() {
            addCriterion("residue_days is null");
            return (Criteria) this;
        }

        public Criteria andResidueDaysIsNotNull() {
            addCriterion("residue_days is not null");
            return (Criteria) this;
        }

        public Criteria andResidueDaysEqualTo(Integer value) {
            addCriterion("residue_days =", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysNotEqualTo(Integer value) {
            addCriterion("residue_days <>", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysGreaterThan(Integer value) {
            addCriterion("residue_days >", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysGreaterThanOrEqualTo(Integer value) {
            addCriterion("residue_days >=", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysLessThan(Integer value) {
            addCriterion("residue_days <", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysLessThanOrEqualTo(Integer value) {
            addCriterion("residue_days <=", value, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysIn(List<Integer> values) {
            addCriterion("residue_days in", values, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysNotIn(List<Integer> values) {
            addCriterion("residue_days not in", values, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysBetween(Integer value1, Integer value2) {
            addCriterion("residue_days between", value1, value2, "residueDays");
            return (Criteria) this;
        }

        public Criteria andResidueDaysNotBetween(Integer value1, Integer value2) {
            addCriterion("residue_days not between", value1, value2, "residueDays");
            return (Criteria) this;
        }

        public Criteria andUserIntegralIsNull() {
            addCriterion("user_integral is null");
            return (Criteria) this;
        }

        public Criteria andUserIntegralIsNotNull() {
            addCriterion("user_integral is not null");
            return (Criteria) this;
        }

        public Criteria andUserIntegralEqualTo(BigDecimal value) {
            addCriterion("user_integral =", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralNotEqualTo(BigDecimal value) {
            addCriterion("user_integral <>", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralGreaterThan(BigDecimal value) {
            addCriterion("user_integral >", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("user_integral >=", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralLessThan(BigDecimal value) {
            addCriterion("user_integral <", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralLessThanOrEqualTo(BigDecimal value) {
            addCriterion("user_integral <=", value, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralIn(List<BigDecimal> values) {
            addCriterion("user_integral in", values, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralNotIn(List<BigDecimal> values) {
            addCriterion("user_integral not in", values, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("user_integral between", value1, value2, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andUserIntegralNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("user_integral not between", value1, value2, "userIntegral");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIsNull() {
            addCriterion("service_charge is null");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIsNotNull() {
            addCriterion("service_charge is not null");
            return (Criteria) this;
        }

        public Criteria andServiceChargeEqualTo(Double value) {
            addCriterion("service_charge =", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotEqualTo(Double value) {
            addCriterion("service_charge <>", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeGreaterThan(Double value) {
            addCriterion("service_charge >", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeGreaterThanOrEqualTo(Double value) {
            addCriterion("service_charge >=", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeLessThan(Double value) {
            addCriterion("service_charge <", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeLessThanOrEqualTo(Double value) {
            addCriterion("service_charge <=", value, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeIn(List<Double> values) {
            addCriterion("service_charge in", values, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotIn(List<Double> values) {
            addCriterion("service_charge not in", values, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeBetween(Double value1, Double value2) {
            addCriterion("service_charge between", value1, value2, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andServiceChargeNotBetween(Double value1, Double value2) {
            addCriterion("service_charge not between", value1, value2, "serviceCharge");
            return (Criteria) this;
        }

        public Criteria andIsCanPayIsNull() {
            addCriterion("is_can_pay is null");
            return (Criteria) this;
        }

        public Criteria andIsCanPayIsNotNull() {
            addCriterion("is_can_pay is not null");
            return (Criteria) this;
        }

        public Criteria andIsCanPayEqualTo(Boolean value) {
            addCriterion("is_can_pay =", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayNotEqualTo(Boolean value) {
            addCriterion("is_can_pay <>", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayGreaterThan(Boolean value) {
            addCriterion("is_can_pay >", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_can_pay >=", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayLessThan(Boolean value) {
            addCriterion("is_can_pay <", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayLessThanOrEqualTo(Boolean value) {
            addCriterion("is_can_pay <=", value, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayIn(List<Boolean> values) {
            addCriterion("is_can_pay in", values, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayNotIn(List<Boolean> values) {
            addCriterion("is_can_pay not in", values, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_pay between", value1, value2, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanPayNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_pay not between", value1, value2, "isCanPay");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsIsNull() {
            addCriterion("is_can_rewards is null");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsIsNotNull() {
            addCriterion("is_can_rewards is not null");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsEqualTo(Boolean value) {
            addCriterion("is_can_rewards =", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsNotEqualTo(Boolean value) {
            addCriterion("is_can_rewards <>", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsGreaterThan(Boolean value) {
            addCriterion("is_can_rewards >", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_can_rewards >=", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsLessThan(Boolean value) {
            addCriterion("is_can_rewards <", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsLessThanOrEqualTo(Boolean value) {
            addCriterion("is_can_rewards <=", value, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsIn(List<Boolean> values) {
            addCriterion("is_can_rewards in", values, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsNotIn(List<Boolean> values) {
            addCriterion("is_can_rewards not in", values, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_rewards between", value1, value2, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanRewardsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_rewards not between", value1, value2, "isCanRewards");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferIsNull() {
            addCriterion("is_can_transfer is null");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferIsNotNull() {
            addCriterion("is_can_transfer is not null");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferEqualTo(Boolean value) {
            addCriterion("is_can_transfer =", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferNotEqualTo(Boolean value) {
            addCriterion("is_can_transfer <>", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferGreaterThan(Boolean value) {
            addCriterion("is_can_transfer >", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_can_transfer >=", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferLessThan(Boolean value) {
            addCriterion("is_can_transfer <", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferLessThanOrEqualTo(Boolean value) {
            addCriterion("is_can_transfer <=", value, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferIn(List<Boolean> values) {
            addCriterion("is_can_transfer in", values, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferNotIn(List<Boolean> values) {
            addCriterion("is_can_transfer not in", values, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_transfer between", value1, value2, "isCanTransfer");
            return (Criteria) this;
        }

        public Criteria andIsCanTransferNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_transfer not between", value1, value2, "isCanTransfer");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}